﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


using vr=AnasisVarliklar;
using System.Data;
using System.Data.SqlClient;
namespace AnasisVeriErisimKatmani
{
    public class Calisan
    {

        /// <summary>
        /// çalışan ekleme
        /// </summary>
        /// <param name="calisan">calışan nesnesi</param>
        /// <return>0 dan buyukse true döndürür</return>
        /// 

        public static bool calisanEkle(vr.Calisan calisan)
        {
            string spAdi = "sp_calisan_tbl_ekle";
            Komut k = new Komut(spAdi);

            int sonuc = 0;
            k.ParametreEkle("@calisan_adi", calisan.Ad);
            k.ParametreEkle("@calisan_soyad",calisan.Soyad);
            k.ParametreEkle("@calisan_maas",calisan.Maas);
            k.ParametreEkle("@calisan_tc",calisan.TcNo);
            k.ParametreEkle("@calisan_adres",calisan.EvAdresi);
            k.ParametreEkle("@calisan_tip", calisan.CalisanTip1);
            k.ParametreEkle("@calisan_eposta",calisan.Eposta);
            k.ParametreEkle("@calisan_tel",calisan.EvTel);
            k.ParametreEkle("@cinsiyet",calisan.Cinsiyet);

            sonuc = k.Islet();
            k.Temizle();
            return sonuc > 0;
        }


        /// <summary>
        /// çalışan Guncelle
        /// </summary>
        /// <param name="calisan">calışan nesnesi</param>
        /// <return>0 dan buyukse true döndürür</return>
        /// 

        public static bool calisanGuncelle(vr.Calisan calisan)
        {
            string spAdi = "sp_calisan_tbl_guncelle";
            Komut k = new Komut(spAdi);

            int sonuc = 0;
            k.ParametreEkle("@calisan_id", calisan.CalisanID);
            k.ParametreEkle("@calisan_adi", calisan.Ad);
            k.ParametreEkle("@calisan_soyad", calisan.Soyad);
            k.ParametreEkle("@calisan_maas", calisan.Maas);
            k.ParametreEkle("@calisan_tc", calisan.TcNo);
            k.ParametreEkle("@calisan_adres", calisan.EvAdresi);
            k.ParametreEkle("@calisan_tip", calisan.CalisanTip1);
            k.ParametreEkle("@calisan_eposta", calisan.Eposta);
            k.ParametreEkle("@calisan_tel", calisan.EvTel);
            k.ParametreEkle("@cinsiyet", calisan.Cinsiyet);

            sonuc = k.Islet();
            k.Temizle();
            return sonuc > 0;
        }

        /// <summary>
        /// çalışan getir
        /// </summary>
        /// <param name="calisanTip">calisanTip göre calışan getirir</param>
        /// <return>data table döner</return>
        /// 

        public static DataTable calisanGetir(int calisanTip)
        {
            DataTable dt = new DataTable();
            string spAdi = "sp_calisan_getir";
            Komut k = new Komut(spAdi);
            k.ParametreEkle("@calisan_tip", calisanTip);
            
            dt = k.IsletDataTable(k);
            k.Temizle();
            return dt;
        }

        public static vr.Calisan calisanGetirTekTek(int calisanID)
        {
            vr.Calisan calisan = new vr.Calisan();

            String spAdi="cp_calisan_getir";

            Komut k = new Komut(spAdi);
            k.ParametreEkle("@calisan_id", calisanID);
            SqlDataReader sdr = k.IsletReader();

            while (sdr.Read())
            {

               calisan.CalisanID=Komut.Int32Getir(sdr,"calisan_id" );
                calisan.Ad=Komut.StringGetir(sdr,"calisan_adi" );
                calisan.Soyad=Komut.StringGetir(sdr,"calisan_soyad" );
                calisan.Maas = Komut.Int32Getir(sdr, "calisan_maas");
                calisan.TcNo=Komut.StringGetir(sdr,"calisan_tc" );
                calisan.EvAdresi=Komut.StringGetir(sdr,"calisan_adres" );
                calisan.CalisanTip1 = Komut.Int32Getir(sdr, "calisan_tip");
               calisan.Eposta=Komut.StringGetir(sdr,"calisan_eposta" );
                calisan.EvTel=Komut.StringGetir(sdr,"calisan_tel");
                calisan.Cinsiyet=Komut.Int32Getir(sdr,"cinsiyet");
            }

            k.Temizle();
            return calisan;
        }


        public static DataTable ogretmenGetir()
        {
            DataTable dt = new DataTable();
            string spAdi = "sp_ogretmen_getir";
            Komut k = new Komut(spAdi);
            dt = k.IsletDataTable(k);
            k.Temizle();
            return dt;

        }


        public static bool calisanVarmi(string calisanTC)
        {
            string spAdi = "sp_calisan_varmi_tc";
            Komut k = new Komut(spAdi);
            k.ParametreEkle("@calisan_tc", calisanTC);
            int sonuc = 0;
            sonuc = k.IsletInt32();
            k.Temizle();
            return sonuc > 0;
        }

        public static int calisanTipGetir(int calisanID)
        {
            string spAdi = "sp_calisan_tip_getir_calisan_id";
            Komut k = new Komut(spAdi);
            k.ParametreEkle("@calisan_id", calisanID);
            int sonuc = 0;
            sonuc = k.IsletInt32();
            k.Temizle();
            return sonuc ;
        }


       /* public static bool calisanEkle(vr.Calisan calisan)
        {
            string spAdi = "sp_calisan_tbl_ekle";

            Komut k = new Komut(spAdi);
           // k.ParametreEkle("@calisan_id",calisan.CalisanID);
           k.ParametreEkle ("@calisan_adi",calisan.Ad );
           k.ParametreEkle ( "@calisan_soyad",calisan.Soyad  );
           k.ParametreEkle  ( "@calisan_maas",calisan.Maas  );
           k.ParametreEkle ( "@calisan_tc",calisan.TcNo  );
           k.ParametreEkle  ("@calisan_adres",calisan.EvAdresi  );
           k.ParametreEkle ( "@calisan_tip",calisan.CalisanTip1 );
           k.ParametreEkle ("vcalisan_eposta",calisan.Eposta  );
           k.ParametreEkle (  "@calisan_tel",calisan.EvTel );
           k.ParametreEkle ("@cinsiyet",calisan.Cinsiyet );
           int sonuc = 0;
           sonuc = k.Islet();
           k.Temizle();
           return sonuc > 0;
        }*/

    }
}
